package com.lihua.project.taskcenter.taskcenter.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lihua.framework.aspectj.lang.annotation.Excel;
import com.lihua.framework.web.domain.BaseEntity;

/**
 * 任务对象 ts_task
 * 
 * @author lihua
 * @date 2022-03-08
 */
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class Task extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务id */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 关联任务id */
    @Excel(name = "关联任务id")
    private Long taskLinkId;


    /** 任务标签，一个json字符串，解析成set类型 */
    @Excel(name = "任务标签，一个json字符串，解析成set类型")
    private String tag;

    /** 完成任务需要的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成任务需要的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishDate;


    /** 完成任务需要的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "任务最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastEditDate;

    /** 任务状态（任务状态 未锁定（没有匹配成功）：1、匹配中： 2、匹配成功（匹配成功，待确认）：  3、进行中 ,4、待评分 5、已结束） */
    @Excel(name = "任务状态", readConverterExp = "任务状态,未锁定（没有匹配成功")
    private String status;

    /** 任务标题（可为空） */
    @Excel(name = "任务标题", readConverterExp = "可为空")
    private String taskTitle;

    /** 任务简介 */
    @Excel(name = "任务简介", readConverterExp = "任务简介，限制50字符")
    private String taskSummary;

    /** 任务略缩图（可为空） */
    @Excel(name = "任务略缩图", readConverterExp = "可为空")
    private String taskThumbnail;

    /** 任务详情，html格式 */
    @Excel(name = "任务详情，html格式")
    private String taskContent;

    /** 任务详情，使用md编辑器编辑（md文本格式） */
    @Excel(name = "任务详情，使用md编辑器编辑", readConverterExp = "md文本格式")
    private String taskContentMd;

    /**匹配状态 0 表示未确认、1表示确认*/
    private Integer matchStatus;

    /** 分数 */
    @Excel(name = "分数")
    private Double score;
}
